
package com.jf.cloud.user.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jf.cloud.common.serializer.ImgJsonSerializer;
import com.jf.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 用户积分记录VO
 *
 * @author zz
 * @date 2020-12-08 10:16:53
 */
public class UserScoreLogVO extends BaseVO{
    private static final long serialVersionUID = 1L;

    @Schema(description = "日志id" )
    private Long logId;

    @Schema(description = "用户id" )
    private Long userId;

    @Schema(description = "积分类型 0.注册送积分1.购物 2.会员等级提升加积分 3.签到加积分 4.购物抵扣使用积分 5.积分过期 6.余额充值 7.系统更改积分 8.购物抵扣使用积分退还" )
    private Integer source;

    @Schema(description = "变动积分数额" )
    private Long score;

    @Schema(description = "业务id" )
    private Long bizId;

    @Schema(description = "出入类型 0=支出 1=收入" )
    private Integer ioType;

    @Schema(description = "商品名称" )
    private String spuName;

    @Schema(description = "商品主图" )
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String mainImgUrl;

    @Schema(description = "积分订单总价" )
    private Long actualTotal;

    @Schema(description = "积分商品单价" )
    private Long scoreFee;

    @Schema(description = "积分商品数量" )
    private Integer allCount;

    @Schema(description = "积分商品单价积分" )
    private Long singleScoreFee;

    @Schema(description = "积分是否锁定 1是 0否" )
    private Integer isLock;

    public Long getLogId() {
        return logId;
    }

    public void setLogId(Long logId) {
        this.logId = logId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Long getScore() {
        return score;
    }

    public void setScore(Long score) {
        this.score = score;
    }

    public Long getBizId() {
        return bizId;
    }

    public void setBizId(Long bizId) {
        this.bizId = bizId;
    }

    public Integer getIoType() {
        return ioType;
    }

    public void setIoType(Integer ioType) {
        this.ioType = ioType;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getMainImgUrl() {
        return mainImgUrl;
    }

    public void setMainImgUrl(String mainImgUrl) {
        this.mainImgUrl = mainImgUrl;
    }

    public Long getActualTotal() {
        return actualTotal;
    }

    public void setActualTotal(Long actualTotal) {
        this.actualTotal = actualTotal;
    }

    public Long getScoreFee() {
        return scoreFee;
    }

    public void setScoreFee(Long scoreFee) {
        this.scoreFee = scoreFee;
    }

    public Integer getAllCount() {
        return allCount;
    }

    public void setAllCount(Integer allCount) {
        this.allCount = allCount;
    }

    public Long getSingleScoreFee() {
        return singleScoreFee;
    }

    public void setSingleScoreFee(Long singleScoreFee) {
        this.singleScoreFee = singleScoreFee;
    }

    public Integer getIsLock() {
        return isLock;
    }

    public void setIsLock(Integer isLock) {
        this.isLock = isLock;
    }

    @Override
    public String toString() {
        return "UserScoreLogVO{" +
                "logId=" + logId +
                ", userId=" + userId +
                ", source=" + source +
                ", score=" + score +
                ", bizId=" + bizId +
                ", ioType=" + ioType +
                ", spuName='" + spuName + '\'' +
                ", mainImgUrl='" + mainImgUrl + '\'' +
                ", actualTotal=" + actualTotal +
                ", scoreFee=" + scoreFee +
                ", allCount=" + allCount +
                ", singleScoreFee=" + singleScoreFee +
                ", isLock=" + isLock +
                '}';
    }
}
